# -*- coding=utf-8 -*-

#获取省的信息：https://db.yaozh.com/hmap

'''
换个思路：先获取每个省的总数，然后根据总数，拿到所有的医院的单个页，然后查看一共有多少个医院
此例子是获得所有省市的名字
并且是用requests来替换（感觉下来requests的效率更好）
'''

import requests
import re

def get_regex_msg(str,regex_pattern):
    return re.compile(regex_pattern).findall(str)

def request_web_body(url):
    regex_rule='data-names="province" data-list=([\s\S]*?)data-src="">'
    html_body_opener=requests.get(url, verify=False)
    #html_body_source=html_body_opener.decode("unicode-escape")
    html_body_source = html_body_opener.content.decode("unicode-escape")
    #print(html_body_source)
    return get_regex_msg(html_body_source,regex_rule)

def generate_province_list(province_msg):
    pat_province_name = '"name":"([\s\S]*?)","val"'
    province_html_body_list = get_regex_msg(province_msg, pat_province_name)
    #print(province_html_body_list[0])
    province_list=list()
    for i in range(1,len(province_html_body_list)):
        province_list.append(province_html_body_list[i])
    return province_list

if __name__ == '__main__':
    base_url="https://db.yaozh.com/hmap"
    province_msg=request_web_body(base_url)[0]
    #print(province_msg)
    province_list=generate_province_list(province_msg)

    print(province_list)